import axios from 'axios';
import store from '../store'
import {
  getMd5
} from '@/utils/md5.js';

var baseURL = 'https://api.marsbox.site'

// 创建axios实例
const service = axios.create({
  baseURL, // api的base_url
  timeout: 5000 // 请求超时时间
});

// 请求拦截器
service.interceptors.request.use(
  config => {
    const p = getMd5();

    config.headers = {
      // 'content-type': 'ContentType.json',
      ...p,
      'token': store.getters.token,
    }
    // if (store.getters.token) {
    //   config.headers['token'] = store.getters.token;
    // }
    return config;
  },
  error => {
    // 请求错误处理
    Promise.reject(error);
  }
);

// 响应拦截器
service.interceptors.response.use(
  response => {
    // 对响应数据做处理，例如只返回data部分
    const res = response.data;
    // if (res.code !== 20000) {
    //   Message({
    //     message: res.message,
    //     type: 'error',
    //     duration: 5 * 1000
    //   });
    //   // 50001: 非法的token; 50002: 其他客户端错误; 50003: 认证失败; 50004: 授权失败; 50005: 未找到用户
    //   if (res.code === 50001 || res.code === 50002 || res.code === 50003 || res.code === 50004 || res.code === 50005) {
    //     // 移除token
    //     resetToken();
    //     // 跳转到登录页面
    //     location.reload();
    //   }
    //   return Promise.reject('error');
    // } else {
    //   return res;
    // }
    return res;
  },
  error => {
    // Message({
    //   message: error.message,
    //   type: 'error',
    //   duration: 5 * 1000
    // });
    return Promise.reject(error);
  }
);

export default function http(url, method, data = {}, params = {}) {
  return service({
      url,
      method,
      data,
      params
    })
    .then((res) => {
      return res
    })
    .catch(err => {
      return Promise.reject(err)
    })
}


// export default service;